@keyframes zoomIn {
  from {
    transform: scale3d(0, 0, 0);
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.zoom-enter-active {
  animation: zoomIn 300ms;
}

.zoom-enter {
  animation: zoomIn 300ms;
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }

  to {
    transform: scale3d(0, 0, 0);
    opacity: 0;
  }
}

.zoom-leave-active {
  animation: zoomOut 300ms;
}

.zoom-leave {
  animation: zoomOut 300ms;
}

.fade-enter-active,
.fade-leave-active {
  transition: opacity 200ms;
}

.fade-enter,
.fade-leave {
  opacity: 0;
}

@keyframes breathe {
  0% {
    box-shadow: 0 0 0 0 #ff7a7a;
  }

  100% {
    box-shadow: 0 0 10px 1px #ff7a7a;
  }
}

.breathe-animation {
  animation-name: breathe;
  animation-duration: 300ms;
  animation-timing-function: ease-in-out;
  animation-delay: 100ms;
  animation-iteration-count: 6;
  animation-direction: alternate;
}

@keyframes breathe-indicator {
  0% {
    box-shadow: 0 0 0 0 var(--color-primary);
  }

  100% {
    box-shadow: 0 0 4px 1px var(--color-primary);
  }
}

.breathe-indicator-animation {
  animation-name: breathe-indicator;
  animation-duration: 300ms;
  animation-timing-function: ease-in-out;
  animation-delay: 100ms;
  animation-iteration-count: 4;
  animation-direction: alternate;
}

.slide-enter-active {
  transition: all 0.2s ease;
}

.slide-leave-active {
  transition: all 0.2s ease;
}

.slide-enter,
.slide-leave-to {
  transform: translateX(100%);
}
